package main

import (
	"context"
	"fmt"
	"gitee.com/go-mid/booter"
	"gitee.com/go-mid/booter/bootservice"
	"gitee.com/go-mid/booter/server"
	"gitee.com/go-mid/infra/xconfig/xviper"
	"gitee.com/go-mid/infra/xcore"
	"gitee.com/xserv/goldrush/processor"

	"gitee.com/go-mid/infra/xlog"
)

func main() {
	//取当前文件目录
	dir, _ := xcore.CurrentPath(1)
	// 给自己定义的processor分配一个给力的名字
	// 如果只有一个processor，就沿用这个命名吧，http的命名为proc_http, thrift 命名为proc_thrift
	booter.AppendService(map[string]bootservice.Service{
		"proc_http": &processor.ProcHttp{},
	})
	// 如果初始化过程发生错误，会直接panic
	// 正常情况这个调用会直接阻塞
	//bootconf 此处设置非0值， 优先级高于命令行
	if err := booter.Run(&server.BootConfig{
		Sname:   "goldrush",
		CfgSrc:  xviper.FILE,
		Cfgtype: xviper.YAML,
		Cfgroot: fmt.Sprintf("%s/data/dev/conf", dir),
	}); err != nil {
		xlog.Errorf(context.Background(), "serve err:%s", err)
	}
}
